#!/usr/bin/perl
# -[ DEFAULTS ] ---------------------------------------------------------------

style "defaults" {
  GtkButton      ::default_border    = { 0, 0, 0, 0 }
  GtkRange       ::trough_border     = 0
  GtkPaned       ::handle_size       = 6
  GtkRange       ::slider_width      = 15
  GtkRange       ::stepper_size      = 15
  
  GtkScrollbar   ::min_slider_length = 30
  GtkCheckButton ::indicator_size    = 14
  GtkMenuBar     ::internal-padding  = 0
  GtkTreeView    ::expander_size     = 14
  GtkExpander    ::expander_size     = 16
  GtkScale       ::slider-length     = 27
  #GtkToolbar     ::button-relief     = GTK_RELIEF_NORMAL
  #GtkMenuBar     ::shadow-type       = GTK_SHADOW_IN
  GtkScrollbar   ::has-forward-stepper = 0
  GtkScrollbar   ::has-backward-stepper = 0
  GtkScrollbar   ::has-secondary-backward-stepper = 0
  
  xthickness = 1
  ythickness = 1

  engine "murrine" {
    scrollbar_color        = "#5c599e"
    contrast               = 2.0
    glazestyle             = 2     # 0 = flat hilight, 1 = curved hilight, 2 = concave style
    menubarstyle           = 3     # 0 = flat, 1 = glass, 2 = gradient, 3 = striped
    menubaritemstyle       = 1     # 0 = menuitem look, 1 = button look
    listviewheaderstyle    = 1     # 0 = flat, 1 = glass
    squaredstyle           = 0     # 0 = default (rounded), 1 = squared
    animation              = TRUE
  }
}

# -[ SIZES ] ------------------------------------------------------------------

style "size-none" {
  xthickness       = 0
  ythickness       = 0
}
style "size-wide" {
  xthickness       = 2
  ythickness       = 2
}
style "size-wider" {
  xthickness       = 3
  ythickness       = 3
}
style "size-huge" {
  xthickness       = 4
  ythickness       = 4
}
style "size-reallywide" {
  xthickness       = 5
  ythickness       = 3
}
# -[ COLOR SCHEMES ] -----------------------------------------------------------

style "colors-cool" {
  # A color used for a widget in its normal state.
  fg[NORMAL]       = "#ecdfff"    # Button Foreground
  bg[NORMAL]       = "#6e4f9e"    # Button Background
  text[NORMAL]     = "#ecdfff"    # Text Foreground
  base[NORMAL]     = "#6e4f9e"    # Text Background
 
  # The widget is in the GTK_STATE_ACTIVE state, and also for the trough of a
  # scrollbar, tabs of a notebook other than the current tab and similar areas.
  # Frequently, this should be a darker variant of the NORMAL color.

  fg[ACTIVE]       = "#ecdfff"    # Button Foreground
  bg[ACTIVE]       = "#6e4f9e"    # Button Background
  text[ACTIVE]     = "#ecdfff"    # Text Foreground
  base[ACTIVE]     = "#6e4f9e"    # Text Background
 
  # The widget is in GTK_STATE_PRELIGHT state. This is for GtkButton and menu
  # items that have the mouse cursor hovering over them (and their children) 
  
  fg[PRELIGHT]     = "#d9bfff"   # Button Foreground
  bg[PRELIGHT]     = "#4d376f"    # Button Background
  text[PRELIGHT]   = "#d9bfff"   # Text Foreground
  base[PRELIGHT]   = "#6e4f9e"    # Text Background

  # The widget is highlighted by the user (such as selecting text in an Editable
  # widget or List widget).

  fg[SELECTED]     = "#ecdfff"    # Button Foreground
  bg[SELECTED]     = "#6e4f9e"    # Button Background
  text[SELECTED]   = "#d9bfff"   # Text Foreground
  base[SELECTED]   = "#6e4f9e"    # Text Background
 
  # The widget is disabled with the gtk_widget_set_sensisitive() function or
  # perhaps is not the active window.  (unresponsive) or "greyed" out.

  fg[INSENSITIVE]  = "#4d376f"    # Button Foreground
  bg[INSENSITIVE]  = "#6e4f9e"    # Button Background
  text[INSENSITIVE]= "#4d376f"    # Text Foreground
  base[INSENSITIVE]= "#6e4f9e"    # Text Background
} 

style "colors-normal" {
  # A color used for a widget in its normal state.
  fg[NORMAL]       = "#e4e3ff"    # Button Foreground
  bg[NORMAL]       = "#5c599e"    # Button Background
  text[NORMAL]     = "#403e6f"    # Text Foreground
  base[NORMAL]     = "#e4e3ff"    # Text Background
 
  # The widget is in the GTK_STATE_ACTIVE state, and also for the trough of a
  # scrollbar, tabs of a notebook other than the current tab and similar areas.
  # Frequently, this should be a darker variant of the NORMAL color.

  fg[ACTIVE]       = "#e4e3ff"    # Button Foreground
  bg[ACTIVE]       = "#5c599e"    # Button Background
  text[ACTIVE]     = "#403e6f"    # Text Foreground
  base[ACTIVE]     = "#e4e3ff"    # Text Background
 
  # The widget is in GTK_STATE_PRELIGHT state. This is for GtkButton and menu
  # items that have the mouse cursor hovering over them (and their children) 
  
  fg[PRELIGHT]     = "#c9c7ff"   # Button Foreground
  bg[PRELIGHT]     = "#403e6f"    # Button Background
  text[PRELIGHT]   = "#c9c7ff"   # Text Foreground
  base[PRELIGHT]   = "#5c599e"    # Text Background

  # The widget is highlighted by the user (such as selecting text in an Editable
  # widget or List widget).

  fg[SELECTED]     = "#e4e3ff"    # Button Foreground
  bg[SELECTED]     = "#5c599e"    # Button Background
  text[SELECTED]   = "#c9c7ff"   # Text Foreground
  base[SELECTED]   = "#5c599e"    # Text Background
 
  # The widget is disabled with the gtk_widget_set_sensisitive() function or
  # perhaps is not the active window.  (unresponsive) or "greyed" out.

  fg[INSENSITIVE]  = "#403e6f"    # Button Foreground
  bg[INSENSITIVE]  = "#5c599e"    # Button Background
  text[INSENSITIVE]= "#403e6f"    # Text Foreground
  base[INSENSITIVE]= "#5c599e"    # Text Background
} 

# -[ MENUS  ] ------------------------------------------------------------------

# Menu Dropdowns
style "theme-menu" = "colors-cool" {
 xthickness        = 2
 ythickness        = 2
 bg[NORMAL]        = "#5a789e"
 bg[PRELIGHT]      = "#e4f0ff"
}
style "theme-menubar" = "colors-cool" {
 xthickness        = 2
 ythickness        = 2
 bg[NORMAL]        = "#5a789e"  # Menubar background
 fg[NORMAL]        = "#c8e0ff" # Menubar text
 fg[INSENSITIVE]   = "#3f546f"  # Menu *ITEM* disabled foreground color ... NEED OptionMenu OVERRIDE!
}
style "theme-menuitem" {
 xthickness        = 3
 ythickness        = 3
 bg[SELECTED]      = "#3f546f"
 fg[SELECTED]      = "#5a789e"
}

# -[ TEXT  ] -------------------------------------------------------------------

style "theme-textarea" = "rainbow" {
  fg[NORMAL]       = "#ecdfff"  # Button Foreground
  bg[NORMAL]       = "#6e4f9e"  # Button Background
  text[NORMAL]     = "#4d376f"  # Text Foreground
  base[NORMAL]     = "#ecdfff"  # Text Background
  
  text[SELECTED]   = "#d9bfff" # Text Foreground
  base[SELECTED]   = "#6e4f9e"  # Text Background
}
style "theme-textentry" = "theme-textarea" {
  xthickness       = 4
  ythickness       = 4
}

# -[ TREE  ] -------------------------------------------------------------------

style "theme-trees"  {
  #GtkTreeView::odd_row_color  = "#e4e3ff"
  #GtkTreeView::even_row_color = "#e4e3ff"

  fg[NORMAL]        = "#4d376f"  # Button Foreground
  bg[NORMAL]        = "#6e4f9e"  # Header (list) Background
  text[NORMAL]      = "#4d376f"  # Text Foreground
  base[NORMAL]      = "#ecdfff"  # Text Background
  
  fg[ACTIVE]        = "#403e6f"  # Arrow color (active = while clicked)
  bg[ACTIVE]        = "#403e6f"  # Arrow fill color (active = while clicked )
  text[ACTIVE]      = "#e4e3ff"  # Text Foreground of "unfocused" selection
  base[ACTIVE]      = "#5c599e"  # Text Background of "unfocused" selection
  
  fg[PRELIGHT]      = "#403e6f"  # Arrow fill color ( while hovering )
  
  text[SELECTED]    = "#e4e3ff"  # Text Selection Foreground
  base[SELECTED]    = "#403e6f"  # Text Selection Background
}


# -[ MISC  ] -------------------------------------------------------------------

style "theme-box" {
 fg[NORMAL]         = "#403e6f" 
}
style "theme-unbox" {
 fg[NORMAL]         = "#e4e3ff" 
}

style "theme-scrollbar" {
 bg[NORMAL]         = "#4d376f"
 bg[ACTIVE]         = "#6e4f9e"
 fg[NORMAL]         = "#ecdfff"
 fg[ACTIVE]         = "#d9bfff"
}

style "theme-button" {
 xthickness         = 2
 ythickness         = 2
 bg[NORMAL]         = "#5a789e"
 bg[PRELIGHT]       = "#3f546f"
 bg[SELECTED]       = "#3f546f"
 bg[INSENSITIVE]    = "#5a789e"  # Button Background
 fg[NORMAL]         = "#e4f0ff"
}

style "theme-radio" = "size-huge" {
 base[NORMAL]       = "#6e4f9e"  # Radio button background color
 bg[PRELIGHT]       = "#5c599e"
}

style "theme-scale" = "theme-button" {
 bg[NORMAL]         = "#5c599e"
}

style "theme-combo" {
 text[NORMAL]       = "#e4f0ff"
}

style "theme-notebook" {
 xthickness         = 2
 ythickness         = 2
 fg[NORMAL]         = "#e4e3ff"  # Frame surrounding the notebook sections + tab seperator
 bg[NORMAL]         = "#5c599e"  # Frame surrounding the notebook sections + tab seperator
 bg[ACTIVE]         = "#6e4f9e"  # Inactive Tabs
 bg[PRELIGHT]       = "#c9c7ff" # Active Tab Highlight
}
style "theme-notebook-label" {
 xthickness         = 2
 ythickness         = 2
 fg[NORMAL]         = "#c9c7ff" # Active tab label color
 fg[ACTIVE]         = "#ecdfff"  # Inactive Tab label color
}

style "theme-tooltips" = "size-huge" {
  bg[NORMAL]        = "#403e6f"
}

style "theme-progressbar" {
  # Work with COMP Colors here...
  xthickness        = 0
  ythickness        = 0
  bg[NORMAL]        = "#403e6f"  # Progressbar unused area (background)
  bg[SELECTED]      = "#6e4f9e"  # Progessbar actual color
}


style "metacity-frame" {
 #bg[SELECTED]       = "#5c599e"
}

style "theme-eventbox" {
  fg[NORMAL]       = "#403e6f"
  #bg[NORMAL]       = "red"
  text[NORMAL]     = "#403e6f"
  #base[NORMAL]     = "red"
}

style "rainbow" {

  fg[NORMAL]       = "red"
  bg[NORMAL]       = "red"
  text[NORMAL]     = "red"
  base[NORMAL]     = "red"
  
  fg[ACTIVE]       = "orange" 
  bg[ACTIVE]       = "orange"
  text[ACTIVE]     = "orange"
  base[ACTIVE]     = "orange"
  
  fg[PRELIGHT]     = "blue"
  bg[PRELIGHT]     = "blue" 
  text[PRELIGHT]   = "blue"
  base[PRELIGHT]   = "blue"
  
  text[SELECTED]   = "green"
  base[SELECTED]   = "green"
  fg[SELECTED]     = "green"
  bg[SELECTED]     = "green"
  
  fg[INSENSITIVE]  = "yellow"
  bg[INSENSITIVE]  = "yellow"
  text[INSENSITIVE]= "yellow"
  base[INSENSITIVE]= "yellow"
}

# -[ CLASS ASSIGNMENTS  ] ------------------------------------------------------

# widget styles
class           "*"                                 style "defaults"             # base class for all widgets
class           "GtkWidget"                         style "colors-normal"        # base class for all widgets

class           "GtkButton"                         style "theme-button"         # Buttons to click on
class           "GtkCombo"                          style "theme-combo"          # Text Entry with dropdown
class           "GtkScale"                          style "theme-scale"          # Progress dragbar (in gmpc)
class           "GtkProgressBar"                    style "theme-progressbar"    # Progress Bar
class           "GtkScrollbar"                      style "theme-scrollbar"      # The Scrollbar

class           "GtkRange"                          style "size-wide"            # User selections
class           "GtkFrame"                          style "size-wide"            # Single line frame around text
class           "GtkCheckButton"                    style "theme-radio"          # Radio Buttons
class           "GtkRadioButton"                    style "theme-radio"          # Radio Buttons


class           "GtkMenu"                           style "theme-menu"
class           "*MenuBar*"                         style "theme-menubar"        
widget_class    "*MenuBar.*"                        style "theme-menubar"
class           "GtkMenuItem"                       style "theme-menuitem"
widget_class    "*.MenuItem.*"                      style "theme-menuitem"

class           "GtkNotebook"                       style "theme-notebook"       # Tab area
widget_class    "*.GtkNotebook.GtkLabel"            style "theme-notebook-label"
class           "GtkTextView"                       style "theme-textarea"       # Text input/viewing area
class           "GtkEntry"                          style "theme-textentry"      # Single text input line
widget_class    "*Tree*"                            style "theme-trees"          # Trees and lists
widget_class    "*List*"                            style "theme-trees"          # Trees and lists
widget_class    "*GtkCList*"                        style "theme-trees"          # Trees and lists


# combobox stuff
widget_class    "*.GtkComboBox.*"                   style "theme-combo"
widget_class    "*.GtkCombo.GtkButton"              style "theme-combo"

# tooltips stuff
widget_class    "*.tooltips.*.GtkToggleButton"      style :highest "theme-tooltips"
widget          "gtk-tooltips"                      style :highest "theme-tooltips"

# notebook stuff
widget_class    "*.GtkNotebook.*.GtkEventBox"       style "theme-notebook"
widget_class    "*.GtkNotebook.*.GtkViewport"       style "theme-notebook"

widget_class    "*Gtk?Box*"                         style "theme-box"
widget_class    "*Menu*Label*"                      style "theme-menubar"
widget_class    "*Button*Label*"                    style "theme-unbox"
widget_class    "*Gtk?Box*Label*"                   style "theme-unbox"
widget_class    "*Frame*Label*"                     style "theme-unbox"
widget_class    "*Notebook*Label*"                  style "theme-unbox"

widget_class    "*.GtkEventBox.*"                   style "theme-eventbox"

# wm stuff
#class           "MetaFrames"                      style "metacity-frame"
#class           "GtkWindow"                          style "metacity-frame"




